/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有，侵权必究！
 */

package io.renren.modules.app.service;


import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.app.entity.UserEntity;
import io.renren.modules.app.form.LoginForm;
import io.renren.modules.sys.entity.SysUserEntity;
import io.renren.modules.sys.vo.PhoneVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 用户
 *
 * @author Mark sunlightcs@gmail.com
 */
public interface UserService extends IService<UserEntity> {

	UserEntity queryByMobile(String mobile);

	/**
	 * 用户登录
	 * @param form    登录表单
	 * @return        返回用户ID
	 */
	long login(LoginForm form);

	/**
	 * 分页查询
	 * @param params
	 * @param sysUserEntity
	 * @return
	 */
	PageUtils queryPage(Map<String, Object> params, SysUserEntity sysUserEntity);

	/**
	 * 更新客户状态
	 * @param entity
	 * @return Boolean
	 */
	boolean updateState(UserEntity entity);

	/**
	 * 更新用户数据
	 * @param user
	 */
	void update(UserEntity user);

	/**
	 * 保存用户
	 * @param user
	 */
	void saveUser(UserEntity user);

	/**
	 * 传一串电话号码，判断电话号码是否已经存在
	 * @param mobiles
	 * @return
	 */
    List<PhoneVo> checkPhones(List<String> mobiles);

	/**
	 * 批量保存电话号码
	 * @param lists
	 * @param userId
	 * @return
	 */
	boolean batch(List<UserEntity> lists, Long userId);

	/**
	 * 查看客户详情
	 * @param userId
	 * @return
	 */
	UserEntity getUserInfoId(Long userId);

	/**
	 * 人员管理
	 * @return
	 */
    List<Map> regl1();

	List<Map> regl2();
}
